# celeryconfig.py
# 12为正式的池子
# 先改成用本地的模式
broker_url = result_backend = 'redis://127.0.0.1:6379/1'  # 使用 Redis 作为 broker
task_serializer = 'json'
result_serializer = 'json'
accept_content = ['json']

timezone = 'Asia/Shanghai'
broker_connection_retry_on_startup = True

enable_utc = True

# worker_concurrency = 10  # 你想要的线程数量或进程数量
worker_pool = 'threads'  # 使用线程池; 如果想使用进程池就不需要这行
# 设置结果过期时间（例如一小时）
result_expires = 3600
worker_max_tasks_per_child = 100 # 执行5个任务以后就重启celery的worker ( 这个对进程的方式启动是有用的)
worker_cancel_long_running_tasks_on_connection_loss = True  # 取消长时间运行的任务
worker_start_timeout = 100   # 超过100秒worker还没启动就报错

# 设置最长时间,超过任务就杀死
task_soft_time_limit = 600  # 最多单个celery不能超过10分钟,超过就当失败
task_time_limit = 700   # 最多单个celery不能超过10分钟,超过就当失败